package com.jinmdz.fmis.api.api.model.settlement;

import com.jinmdz.fmis.common.annotation.AnValidate;
import com.jinmdz.fmis.common.constant.EValidateCode;
import com.jinmdz.fmis.core.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;

/**
 * 打印发票或冲红打印发票发票信息数据
 *
 * @author LiCongLu
 * @date 2020-05-13 15:02
 */
@ApiModel(value = "打印发票或冲红打印发票发票信息数据", description = "打印发票或冲红打印发票发票信息数据")
public class ChargeInvoiceItemData extends BaseBean {
    /**
     * 发票代码
     */
    @AnValidate(name = "发票代码", required = true)
    @ApiModelProperty(value = "发票代码", name = "invoiceCode", position = 1)
    private String invoiceCode;

    /**
     * 发票号码
     */
    @AnValidate(name = "发票号码", required = true)
    @ApiModelProperty(value = "发票号码", name = "invoiceNo", position = 2)
    private String invoiceNo;

    /**
     * 发票抬头
     */
    @AnValidate(name = "发票抬头", required = true)
    @ApiModelProperty(value = "发票抬头", name = "invoiceTitle", position = 3)
    private String invoiceTitle;

    /**
     * 发票金额
     */
    @AnValidate(name = "发票金额", required = true, code = EValidateCode.GREATER_ZERO)
    @ApiModelProperty(value = "发票金额", name = "invoiceCharge", position = 4)
    private BigDecimal invoiceCharge;

    /**
     * 备注信息
     */
    @AnValidate(name = "备注信息")
    @ApiModelProperty(value = "备注信息", name = "remark", position = 5)
    private String remark;

    public String getInvoiceCode() {
        return invoiceCode;
    }

    public ChargeInvoiceItemData setInvoiceCode(String invoiceCode) {
        this.invoiceCode = invoiceCode;
        return this;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public ChargeInvoiceItemData setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
        return this;
    }

    public String getInvoiceTitle() {
        return invoiceTitle;
    }

    public ChargeInvoiceItemData setInvoiceTitle(String invoiceTitle) {
        this.invoiceTitle = invoiceTitle;
        return this;
    }

    public BigDecimal getInvoiceCharge() {
        return invoiceCharge;
    }

    public ChargeInvoiceItemData setInvoiceCharge(BigDecimal invoiceCharge) {
        this.invoiceCharge = invoiceCharge;
        return this;
    }

    public String getRemark() {
        return remark;
    }

    public ChargeInvoiceItemData setRemark(String remark) {
        this.remark = remark;
        return this;
    }
}
